Редактирование трехмерной геометрии
Автор: Пол Хэмилтон
Источник: http://isicad.ru/
Автор: Пол Хэмилтон
Источник: http://isicad.ru/
В то время как системы, основанные на истории построения, обучаются возможностям прямого взаимодействия с геометрией и становятся более «явными», системы без истории обучаются способам косвенного управления геометрией, становясь более «параметрическими».
Итак, что же включает в себя редактирование трехмерной геометрии? Когда мы используем трехмерную CAD-систему с целью проектирования, мы в основном описываем и трансформируем геометрию в виртуальном окружении. Сегодня этот процесс осуществляется либо «прямо», либо «косвенно». Косвенный способ характеризуется обычными методами, когда для управления геометрией определяются и модифицируются структура и средства интеллектуализации модели. Прямой способ характеризуется явными методами взаимодействия с трехмерной геометрией. Довольно интересно, что сегодня оба этих способа взаимодействия с моделью существуют как в рамках трехмерных CAD на основе истории построения, так и в системах без истории.
В статье я хочу сделать детальный обзор того, как трехмерная геометрия редактируется и модифицируется в трехмерных CAD-системах. Я полагаю, что когда мы – пользователи CAD – узнаем больше о том, что происходит в наших CAD-системах сегодня, мы станем лучше использовать наши инструменты. Я надеюсь, моя публикация поможет этому.
В следующих двух частях своей статьи я буду детально обсуждать обе технологии. Сначала мы посмотрим, как косвенное редактирование работает в окружении с историей построения и в окружении без истории. Затем мы обсудим, как прямое редактирование работает в каждом из этих двух окружений.
При косвенном (непрямом) редактировании в модель добавляются параметры, размеры и другие средства интеллектуализации, с помощью которых определяются возможные трансформации и отношения между элементами модели. В системах с историей построения эти средства интеллектуализации сохраняются в дереве построения в момент создания модели. В системах без истории построения средства интеллектуализации привязываются к граничному представлению геометрии (BRep) либо в момент создания модели, либо позже. Средства интеллектуализации модели в конечном счете должны определить, какие элементы и как именно будут изменяться при редактировании.
Прямое редактирование не требует управления с помощью средств интеллектуализации. Эта технология обеспечивает возможность манипуляции непосредственно с граничной геометрией BRep. Прямое взаимодействие с BRep-моделью нетривиально, но зато мы получаем более интеллектуальное средство. Когда редактирование осуществляется напрямую, необходимо выбрать геометрию и явно задать трансформации.
В конце статьи я подведу итоги и разберу, как эти технологии воздействуют на ваш процесс разработки продукта. Надеюсь, после этого у вас будет лучшее видение того, где эти технологии могут приносить пользу.
Косвенное редактирование обычно используется в системах параметрического моделирования с историей построения. При косвенном редактировании с трехмерной моделью ассоциируются параметры, размеры и другие средства интеллектуализации, которые затем используются для определения возможных трансформаций и взаимоотношений. В системах на основе истории эти средства интеллектуализации заносятся в дерево построения (history-tree) во время создания модели. В системах без истории, напротив, средства интеллектуализации ассоциируются с BRep-моделью во время или после ее создания. В любом случае (с историей или без нее) средства интеллектуализации используются для задания геометрических трансформаций. Добавляемый в модель «интеллект» описывает, что будет изменяться, т.е. геометрию, и как она будет изменяться, т.е. трансформацию.
После модификации и обработки заложенного в модель «интеллекта», результирующая трехмерная геометрия может измениться. Что именно меняется в геометрии, полностью зависит от того, какие средства интеллектуализации были заданы, и как они были структурированы. Это и является «косвенной трансформацией» трехмерной геометрии. Преимущество этой технологии (косвенного редактирования) заключается в том, что вы можете задать и ассоциировать с моделью требуемое поведение. Когда вы действительно можете предвидеть будущие изменения вашей модели, данная технология может быть очень полезной. Она также применяется при необходимости надежного управления взаимоотношениями между гранями, конструктивными элементами и деталями во время редактирования.
С данным окружением знакомо большинство пользователей трехмерных CAD-систем. Это стандартный метод изменения трехмерной геометрии в CAD-системах на основе истории построения. Управление параметрами происходит в контексте дерева построения, где все элементы структурированы с помощью отношения родитель/ребенок. Структура, отношения и параметры всегда создаются и упорядочиваются в дереве одновременно с разработкой модели. Процесс правильной организации и управления этой структурой не является опциональным. Это то, чем должен овладеть каждый пользователь систем с историей построения для эффективного использования инструментов. В системах на основе истории вы всегда либо добавляете новую структуру, либо редактируете существующую (т.е. осуществляете косвенное редактирование). Когда происходят изменения в истории (в эскизах, параметрах, конструктивных элементах или в их порядке), геометрическая модель регенерируется и разрешается линейно на основе структуры дерева.
В этом случае важно знать структуру дерева и предвидеть, как конкретное изменение повлияет на дочерние элементы (так называемый, «волновой эффект»). В некоторых случаях этот эффект является желаемым, а во многих других – наоборот.
В системах на основе истории построения пользователи на самом деле редактируют процесс и структуру, т.е. «рецепт» , который был определен во время создания модели. Вы не редактируете трехмерную геометрию, а изменяете рецепт и просите систему перестроить геометрическую модель на основе измененного рецепта. В этом контексте трехмерная геометрия всегда создается заново, а не модифицируется.
При косвенном редактировании можно непреднамеренно внести изменения, которые сделают модель некорректной. Умение работать с такими ситуациями является критическим для хорошего моделирования по истории построения.
Технология косвенного редактирования с историей построения недавно пережила «фэйслифтинг», связанный с появлением средств динамической или мгновенной (instant) модификации модели. С помощью этих средств пользователь может выбрать грань или конструктивный элемент модели и динамически модифицировать связанные с ним средства интеллектуализации (параметры и размеры). Последующее разрешение параметров и размеров осуществляется линейным перестроением модели – как и в случае обычного редактирования, – но для пользователя это выглядит как мгновенная модификация. Этот метод похож на прямое редактирование геометрии, но не является таковым (см. ниже о настоящих методах прямого редактирования в контексте систем с историей построения), так как его результат полностью зависит от структуры средств интеллектуализации модели.
Данная технология не является новой, но она неизвестна большинству пользователей CAD. Она предоставляет возможность косвенной манипуляции граничной геометрией (BRep) с помощью добавляемых к ней средств интеллектуализации (параметров и размеров) – как и в случае косвенного редактирования с историей построения. Однако в данном случае параметры не являются частью дерева (которое в этих системах отсутствует), а ассоциируются напрямую с элементами BRep, т.е. с вершинами, ребрами и граниями. Все наложенные на модель взаимоотношения разрешаются одновременно, что обычно нелинейно зависит от размера модели. При этом не имеет никакого значения порядок, в котором параметры добавляются в модель. Данная технология не обладает «волновым эффектом», основанным на взаимоотношениях родитель/ребенок.
Косвенное редактирование без истории построения действительно модифицирует геометрию, а не создает ее заново – как в случае моделирования на основе истории. Существуют несколько разных технологий, которые могут использоваться для модификации твердотельных BRep моделей. Для гарантии корректности модели, а также для обеспечения ожидаемого результата операции косвенного редактирования система должна обладать определенным интеллектом.
Как и в случае косвенного редактирования на основе истории построения пользователь должен знать, каким образом параметры структурированы. Однако, так как порядок параметров не важен, управлять средствами интеллектуализации относительно просто.
Сегодня существует не так много CAD-систем без истории построения, которые обеспечивают возможность косвенного редактирования.
Существуют доводы за и против каждого подхода – косвенного редактирования без истории и такового же на основе истории. Понимание того, какой из них наилучшим образом может поддержать ваши требования, может быть сложной задачей, которую мы проанализируем в конце статьи.
Возможности прямого редактирования трехмерной геометрии присутствуют на сегодняшний день в большинстве систем с историей построения, хотя исторически они развивались в рамках систем без истории (с прямым моделированием). Прямое редактирование подразумевает, что модель не обременена никакими средствами интеллектуализации, и состоит в возможности непосредственной манипуляции с геометрией BRep. В большинстве случаев твердотельная модель BRep может быть модифицирована методами прямого редактирования – независимо от того, когда и как она была создана. Прямые манипуляции с BRep-моделью нетривиальны, но эта технология значительно развилась за последние двадцать лет, и сейчас является вполне зрелой.
Небольшой ликбез. Граничное представление твердотельных моделей (BRep) основано на связности. Попросту говоря, точки (вершины) связываются ребрами, ребра связываются друг с другом, формируя грани, а связка граней образует «водонепроницаемое» тело. Все эти связи называются топологией модели. Если прямое редактирование подразумевает изменение топологии, т.е. добавление или удаление граней, ребер и вершин, к модели должны применяться Булевы операции. В случае, если редактирование не вызывает изменения топологии, можно обойтись локальными операциями на модели. Когда мы пытаемся осуществить изменение геометрии посредством прямого редактирования, система должна быть достаточно интеллектуальной, чтобы знать, какая функция обеспечит наилучший и наиболее ожидаемый результат.
В отличие от косвенного редактирования, прямое требует от пользователя явной спецификации того, что будет меняться (геометрия) и как оно будет меняться (трансформация).
Указание «что». Простейший способ задания геометрии при прямом редактировании является выбор грани указателем. Если нужно изменить несколько граней, CAD-система может обеспечить функцию для множественного выбора (multi-selection). Некоторые системы также используют распознавание конструктивных элементов в реальном времени (real-time feature recognition), чтобы помочь пользователю при выборе нескольких граней, которые представляют один выступ, карман, кромку или отверстие. Могут быть доступны для выбора конструктивные элементы, определяемые пользователем. Существуют также другие технологии для помощи пользователю в выборе геометрии при прямом редактировании. Например, при выборе пользователем планарной грани система может выделить все копланарные грани. Или выбрать все смежные грани, касательные данной, например. В базовых BRep-моделях содержится достаточно интеллекта для того, чтобы системы распознали условия подобного типа. В некоторых более продвинутых системах выбор геометрии для редактирования возможен в нескольких изолированных деталях одновременно, что позволяет управлять отношениями между деталями во время редактирования.
Указание «как». При задании трансформации пользователь обычно указывает трехмерную ось или трехмерный вектор с указанием расстояния или угла. Многие системы предлагают трехмерные иконки или специальные инструменты, чтобы помочь пользователю задать желаемую трансформацию. С помощью таких средств пользователь может сначала выбрать направляющий вектор или ось вращения, а затем перетащить геометрию на некоторое расстояние или повернуть на некоторый угол.
При задании величины переноса или угла поворота многие системы позволяют также непосредственно напечатать желаемое значение. В некоторых системах можно сослаться на другую геометрию при задании величины переноса/поворота, в том числе и на другие детали в сборке.
После того, как пользователь определил, что и как перемещать, модификация может быть завершена. Геометрия изменяется немедленно, так как модификация применяется непосредственно к ее внутреннему представлению – твердотельной BRep модели.
Преимущество данной технологии состоит в том, что пользователи не должны беспокоиться о том, как в их модели структурированы средства интеллектуализации. Они просто манипулируют геометрией независимо от того, когда и как она была создана.
Данная технология является новинкой для большинства пользователей CAD. Она обеспечивает возможность непосредственного взаимодействия с «результирующей» BRep моделью, полученной по дереву построения. Каждая операция прямого редактирования должна быть записана в дереве, и каждый раз, когда используется косвенное редактирование и создается новая BRep модель, все операции прямого редактирования должны быть применены к ней заново.
Не следует путь мгновенное (instant) или динамическое (dynamic) или «прямо-на-форме» (direct shape) редактирование параметров с прямым редактированием. Подобные операции косвенного редактирования модифицирует в реальном времени управляющие параметры конструктивных элементов. Эта технология определенно полезна, но, как и в случае использования других средств косвенного редактирования, конечный результат зависит от порядка создания конструктивных элементов. При выполнении операций прямого редактирования система с историей построения не может использовать никакую информацию о геометрических взаимоотношениях, найденную в топологии BRep, так как эти взаимоотношения могут измениться при последующей модификации конструктивных элементов, стоящих выше в дереве построения. Поэтому большинство операций прямого редактирования в системах с историей построения всегда будут ограничены в своих возможностях. Например, не может быть мощных методов выбора геометрии, таких как выбор нескольких граней одновременно или распознавание конструктивных элементов, равно как и выбор элементов в нескольких деталях одновременно. Также, в системах с историей построения не может быть мощных средств для задания трансформаций, и эти системы не могут обрабатывать сложные топологические изменения.
Прямое редактирование в системах с историей построения также усложняется тем фактом, что все операции редактирования должны быть структурированы и упорядочены в дереве построения вместе с другими содержащимися там структурами. В результате дерево построения становится более сложным. Операции прямого редактирования зависят от родительских конструктивных элементов и влияют на дочерние конструктивные элементы. На практике прямое редактирование в системах с историей построения вызывает больше вопросов, чем добавляет ценности. Поэтому лучше избегать прямого редактирования в таких системах – по крайней мере, на текущем уровне их развития. Однако, эта возможность определенно полезна при работе с импортированными моделями.
Если вы используете средства прямого моделирования подобные CoCreate Modeling, KeyCreator или SpaceClaim, то данная технология должна быть вам знакома. Прямое редактирование является основным методом изменения трехмерной геометрии в системах без истории построения. Редактирование осуществляется непосредственно на уровне BRep модели, нигде не записывается и не структурируется.
Так как прямое редактирование является основным методом манипуляции с геометрией в системах без истории построения, важно обеспечить пользователей набором мощных инструментов и методов для выбора геометрии. Такие инструменты и методы включают в себя множественных выбор, выбор с помощью прямоугольного параллелепипеда (бокса), распознавание конструктивных элементов, условный выбор, определяемые пользователем конструктивные элементы, шаблоны, списки/фильтры для выбора и т.д. Должен предоставляться выбор в нескольких деталях одновременно. Кроме того, такие системы должны предоставлять набор инструментов и методов для задания трансформаций. Например, может быть доступно задание нескольких трансформаций в рамках одной операций. Интеллектуальное извлечение данных из BRep и использование этой информации является критическим для организации надежного процесса прямого редактирования.
Конечно, после того, как осуществлен выбор геометрии и заданы трансформации, важно обеспечить ожидаемый пользователем результат, так как зачастую существует несколько решений.
Прямое редактирование определенно является движущей силой нашей индустрии. Оно обеспечивает огромный скачок в гибкости по сравнению с косвенным редактированием, особенно тем, что основано на истории построения. С помощью продвинутых методов выбора геометрии, которые в настоящее время доступны в некоторых системах без истории построения прямое редактирование может использоваться для управления взаимоотношениями между деталями и сборками – то, что ранее было возможно только в рамках косвенного редактирования.
Каково значение проделанного анализа средств прямого и косвенного редактирования для проектирования изделий?
Поскольку моделирование на базе истории построения многие годы являлось доминантной технологией, оно продолжает широко использоваться в проектировании. Но после того как моделирование без истории стало более надежным и полезным, мы можем выбирать между двумя очень жизнеспособными и очень различными технологиями. Так как такой выбор влияет на данные или «интеллектуальную собственность» вашей компании, а также повлияет на ваш процесс разработки изделий, данный выбор должен основываться на чем-то большем, чем просто пользовательские предпочтения.
В рамках технологии на основе истории редактирование геометрии обычно является косвенным, и интеллектуальный уровень для управления редактированием задается одновременно с созданием самой модели. Здесь очень важно создать правильно структурированное дерево построения. Данное окружение требует использования совместной методологии моделирования и тщательного внимания к тому, что и как будет изменяться в модели в будущем. Основным преимуществом такого окружения является то, что благодаря записи каждого шага моделирования, возможно редактирование любого из предыдущих шагов, выражающееся в получении модели, отличной от первоначальной. Основным вызовом здесь является требование совместности в методах моделирования, негибкость, сложность для изучения, требование хорошего знания структуры до начала использования данных. То, что вы видите, не является тем, что вы получаете, в системах с историей построения. С точки зрения правильной организации процесса, вам необходимо быть уверенным в том, что ценность, которую вы получите от хорошо структурированного дерева построения, оправдает ваши инвестиции.
Прямое редактирование будет продолжать распространяться в системах с историей построения, принося свои преимущества, но оставаясь ограниченным в своих возможностях.
Если ваш процесс и продукты зависят от высокоструктурированных инженерных данных, и если эти данные будут иметь достаточный жизненный цикл и использование, которое оправдает инвестиции, тогда моделирование на основе истории может быть хорошим выбором.
В рамках технологии без истории построения редактирование обычно является прямым. По умолчанию в модели нет данных, которые описывают, как она была создана или как один конструктивный элемент влияет на другой (отношение родитель/ребенок). То, что вы видите в моделях без истории построения, является тем же, что вы получаете при редактировании. Эта технология обеспечивает очень быстрое и гибкое окружение для моделирования, не требующее понимания концептуальной целостности (design intent) до начала процесса моделирования. Основным вызовом этой технологии является редактирование сложных форм. Хотя технология постоянно улучшается, редактирование форм, состоящих из B-сплайнов или NURBS поверхностей с большим количеством скруглений, иногда может быть сложно осуществимым. Здесь все снова упирается в топологию. Поддержание «связности» во время операция вытягивания и перемещения не является тривиальным. Такие сложные формы определенно могут модифицироваться с помощью технологии без истории, но это не так просто, как изменение параметра и проигрывание истории.
Нас ждут новые возможности косвенного редактирования в рамках моделирования без истории. PTC CoCreate многие годы пользуется технологией DCM компании D-Cubed (подразделение Siemens PLM Software – прим. isicad.ru) для управления возможностями косвенного редактирования. Компания LEDAS также разрабатывает очень похожую технологию, которую вы можете увидеть работающей в системе Rhino.
С точки зрения организации процесса, если вам требуется лишь сделать проект как можно быстрее и как можно гибче, то технология без истории построения может быть наилучшим выбором. Это очень дешевая технология. Она позволяет использовать меньшее количество данных и естественно обрабатывать большие сборки.
Вышеприведенные комментарии относятся главным образом к модели использования инструмента, в которой существует много различий, влияющих на процесс проектирования. Однако сами данные являются более важными, чем модель использования. Хотя обе технологии (на основе истории и без таковой) создают BRep модель трехмерного тела, существуют важные различия в том, как с их помощью создается интеллектуальная собственность, которая затем используется десятилетиями на протяжении жизненного цикла продукта.
При использовании технологии без истории построения трехмерное тело BRep само по себе является главным документом. Без него у вас нет ничего. При использовании технологии на основе истории BRep модель является лишь результатом обработки дерева построения. Это дерево и является вашим главным документом. Без него (в контексте данной технологии) у вас нет ничего – только «немое» тело. Наиважнейший вопрос относительно управления деревом построения как основным документом состоит в том, что дерево истории является частным (внутренним): не существует никаких промышленных стандартов для обмена таким типом данных. Поэтому большинство инженерных разработок, выполненных с помощью технологии на основе истории построения, имеют относительно короткий жизненный цикл. Обращайте особое внимание на интеллектуальную собственность, относящуюся к разработке продукта, размер ваших инвестиций в ее создание и влияние на ваши будущие разработки.
Интересно, что некоторые компании-производители CAD-систем говорят о комбинировании технологии на основе истории построения с технологией без истории. Будет интересно увидеть, к чему они в результате придут. Сегодня CAD-данные либо содержат историю построения, либо не имеют ее. И если история пропала, она действительно пропала навсегда. Воссоздание дерева построения для модели без истории будет похоже на воссоздание фотоальбома, сгоревшего в огне. CAD-системы на основе истории построения и CAD-системы без истории определенно могут сосуществовать и дополнять друг друга, но необходимо четко понимать, как можно управлять интеллектуальной собственностью в таком окружении.
Сейчас, когда существуют выбор между двумя работоспособными технологиями, потребителям нужно внимательно проанализировать процесс разработки своего продукта и рассмотреть, какая из технологий наилучшим образом удовлетворяет их текущие и будущие потребности. Есть много параметров для такого анализа.